![]() |
|||
| Documento: | MIMR100C | ||
|---|---|---|---|
| Descrizione: | Manuale di installazione e manutenzione | ||
| Redattore: | Riccardo Furlato | ||
| Approvatore | Gabriele Bazzi | ||
| Link: | https://www.qem.eu/doku/doku.php/strumenti/microqmove/r100c/mimr100cfx | ||
| Lingua: | Italiano | ||
| Release documento | Descrizione | Note | Data |
| 01 | Nuovo manuale | Valido per: release hardware “01.1” release software “10.0.2” | 26/06/2014 |
| 02 | Correzioni e miglioramenti al manuale | 19/01/2015 | |
L'apparecchiatura è stata progettata per l'impiego in ambiente industriale in conformità alla direttiva 2004/108/CE.
R100C è un prodotto della serie MicroQmove.
![]() | In base al Codice d'ordinazione dello strumento è possibile ricavarne esattamente le caratteristiche. Verificare che le Caratteristiche dello strumento corrispondano alle Vostre esigenze. |
|---|
| Modello | Caratteristiche | |||||
| R100CF | 10 | E1 | / | Q13 | / | 24V |
|---|---|---|---|---|---|---|
| Tensione di alimentazione 24V = 24Vdc (+/-15%) |
||||||
| Opzione scheda base Q13 = nr.1 porta seriale User, nr.1 porta CanOpen, 1 porta USB, nr.16 ingressi (24V - PNP), nr.16 uscite (24V - PNP - max 2A), nr.4 ingressi analogici (12bit), nr. 4 uscite comando motori CC, nr.2 conteggi |
||||||
| Tipo di espansione installata: E1 = B5-Q10 |
||||||
| Versione firmware: 10 = PLC / Counter |
||||||
| Versione hardware: R100C = Famiglia “microQmove” F = completa programmabilità |
||||||
Attualmente sono disponibili le seguenti versioni hardware:
| Versioni hardware | |||||
|---|---|---|---|---|---|
| Q10 | Q11 | Q12 | Q13 | ||
| SLOT 2 (Scheda base) | USER PORT | - | - | - | 1 |
| CAN PORT | - | 1 | 1 | 1 | |
| USB PORT (Host) | - | 1 | 1 | 1 | |
| Ingressi digitali 24V - PNP | - | 16 | 20 1) | 20 2) | |
| Ingressi analogici 12bit | - | 4 | 4 | 4 | |
| Conteggi bidirezionali 20KHz AB (24V-PNP) | - | - | 2 | 2 | |
| Uscite digitali PNP 2A | - | 12 | 16 | 16 | |
| Uscite per motori cc | - | 4 | 4 | 4 | |
| | | |
||
| Versione | Descrizione |
|---|---|
| 10 | Completamente programmabile, con funzionalità PLC/Counter |
Per ulteriori informazioni riguardo alle caratteristiche dei vari firmware, consultare la tabella dei Devices abilitati negli strumenti.
L'R100C ha una scheda base in cui sono integrate tutte le funzionalità necessarie al funzionamento dello strumento microqmove. La scheda base denominata “B5-Q10” è inserita nello slot 2 del bus.
| Slot | Descrizione |
|---|---|
| Power Supply | Connettore di alimentazione posto sulla scheda Base |
| Slot 2 | Scheda base (B5-Q10) |
| Slot 3 | Scheda Espansione (non attualemente disponibile) |
| Slot 4-8 | Slots per la mappatura dei moduli remoti CanBus |
| Peso (massima configurazione hardware) | 500g |
|---|---|
| Materiale contenitore | PVC |
| Led utente | 5 |
| Led sistema | 8 |
| Tasti funzione | 2 |
| Tasti sistema | 3 |
| Temperatura di esercizio | 0 ÷ 50°C |
| Umidità relativa | 90% senza condensa |
| Altitudine | 0 - 2000m s.l.m. |
| Temperatura di trasporto e stoccaggio | -25 ÷ +70 °C |
| Microprocessore RISC (32 bit) | |
|---|---|
| Frequenza di lavoro | 200MHz |
| Memoria RAM | 2MB |
| Memoria Flash | 8MB |
| Memoria Ritentiva | 13KB |
![]() | Quote in mm |
|---|
![]() | Per informazioni riguardanti le sezioni dei cavi utilizabili ed i connettori usati, consultare l'application note AN021 |
|---|
.
![]() | Le caratteristiche elettriche sono riportate nel paragrafo Caratteristiche elettriche. Gli esempi di collegamento sono riportati nel paragrafo Esempi di collegamento |
|---|
| Il cablaggio deve essere eseguito da personale specializzato e dotato degli opportuni provvedimenti antistatici. Prima di maneggiare lo strumento, togliere tensione e tutte le parti ad esso collegate. Per garantire il rispetto delle normative CE, la tensione d'alimentazione deve avere un isolamento galvanico di almeno 1500 Vac. |
|---|
.
| Alimentazioni disponibili | 24 Vdc |
|---|---|
| Range valido | 22 ÷ 27 Vdc |
| Assorbimento max. | 30W |
| CN1 | Morsetto | Simbolo | Descrizione | |
|---|---|---|---|---|
![]() | ![]() | 1 | | 0V alimentazione DC |
| 2 | TERRA | Terra-PE (segnali) | ||
| 3 | | +24V positivo alimentazione DC | ||
| Si prescrive l'uso di un alimentatore isolato con uscita 24Vdc +/-5% conforme a EN60950-1. |
|---|
.
![]() | Usare due alimentatori separati: uno per la parte di controllo e uno per la parte di potenza |
![]() | Nel caso di un unico alimentatore, usare due linee separate: una per il controllo e una per la potenza |
![]() | Non usare le stesse linee della parte di potenza |
| CN2 | TerminalRS232 | RS422 | RS485 | Description | |
|---|---|---|---|---|---|
![]() | 1A | - | - | A | Terminal A - RS485 |
| 2A | - | - | B | Terminal B - RS485 | |
| 3A | 0V | 0V | 0V | USER PORT common | |
| 4A | 0V | 0V | 0V | USER PORT common | |
| 5A | TX | - | - | Terminal TX - RS232 | |
| 6A | Ground | ||||
| 1B | - | RX | - | Terminal RX - RS422 | |
| 2B | - | RXN | - | Terminal RX N - RS422 | |
| 3B | - | TX | - | Terminal TX - RS422 | |
| 4B | - | TXN | - | Terminal TX N - RS422 | |
| 5B | RX | - | - | Terminal RX - RS232 | |
| 6B | Ground | ||||
| CAN PORT | Morsetto | Simbolo | Descrizione |
|---|---|---|---|
| 1 | 0V | Comune CAN |
| 2 | CAN L | Terminale CAN L | |
| 3 | CAN H | Terminale CAN H |
| Nome jumper | Impostazione | Funzione | |
|---|---|---|---|
JP1 JP2 | JP1 | INSERITO | Terminazione CAN attivata |
| JP2 |
Connettore per l'inserimento della Memory card (evidenziato dalla freccia)
| CN8 | Morsetto | Simbolo | Descrizione | Indirizzo | |
|---|---|---|---|---|---|
| 1 | 0V | Comune degli ingressi digitali | ||
| 2 | I1 | Ingresso I1 | 2.INP01 | ||
| 3 | I2 | Ingresso I2 | 2.INP02 | ||
| 4 | I3 | Ingresso I3 | 2.INP03 | ||
| 5 | I4 | Ingresso I4 | 2.INP04 | ||
| 6 | I5 | Ingresso I5 | 2.INP05 | ||
| 7 | I6 | Ingresso I6 | 2.INP06 | ||
| 8 | I7 | Ingresso I7 | 2.INP07 | ||
| 9 | I8 | Ingresso I8 | 2.INP08 | ||
.
| CN9 | Morsetto | Simbolo | Descrizione | Indirizzo | |
|---|---|---|---|---|---|
| 1 | 0V | Comune degli ingressi digitali | ||
| 2 | I9 | Ingresso I9 | 2.INP09 | ||
| 3 | I10 | Ingresso I10 | 2.INP10 | ||
| 4 | I11 | Ingresso I11 | 2.INP11 | ||
| 5 | I12 | Ingresso I12 | 2.INP12 | ||
| 6 | I13 | Ingresso I13 | 2.INP13 | ||
| 7 | I14 | Ingresso I14 | 2.INP14 | ||
| 8 | I15 | Ingresso I15 | 2.INP15 | ||
| 9 | I16 | Ingresso I16 | 2.INP16 | ||
Inserire i jumper JP3, JP4, JP5 e JP6 per configurare i 4 ingressi analogici.
![]() | Jumper | Stato | Descrizione | Ingresso | |
|---|---|---|---|---|---|
| Tipo ingresso | JP3-A | INSERITO | Amperometrico 0-20mA | IA1 | |
| JP3-B | INSERITO | Voltmetrico 0-5V | |||
| JP3-C | INSERITO | Voltmetrico 0-10V | |||
| JP3-A JP3-B JP3-C | NON INSERITO | Potenziometrico | |||
| Riferimento di tensione | JP3-D | INSERITO | VREF1 = 2.5V | ||
| JP3-E | INSERITO | VREF1 = 10,8V | |||
| Tipo ingresso | JP4-A | INSERITO | Amperometrico 0-20mA | IA2 | |
| JP4-B | INSERITO | Voltmetrico 0-5V | |||
| JP4-C | INSERITO | Voltmetrico 0-10V | |||
| JP4-A JP4-B JP4-C | NON INSERITO | Potenziometrico | |||
| Riferimento di tensione | JP4-D | INSERITO | VREF2 = 2.5V | ||
| JP4-E | INSERITO | VREF2 = 10,8V | |||
| Tipo ingresso | JP5-A | INSERITO | Amperometrico 0-20mA | IA3 | |
| JP5-B | INSERITO | Voltmetrico 0-5V | |||
| JP5-C | INSERITO | Voltmetrico 0-10V | |||
| JP5-A JP5-B JP5-C | NON INSERITO | Potenziometrico | |||
| Riferimento di tensione | JP5-D | INSERITO | VREF3 = 2.5V | ||
| JP5-E | INSERITO | VREF3 = 10,8V | |||
| Tipo ingresso | JP6-A | INSERITO | Amperometrico 0-20mA | IA4 | |
| JP6-B | INSERITO | Voltmetrico 0-5V | |||
| JP6-C | INSERITO | Voltmetrico 0-10V | |||
| JP6-A JP6-B JP6-C | NON INSERITO | Potenziometrico | |||
| Riferimento di tensione | JP6-D | INSERITO | VREF4 = 2.5V | ||
| JP6-E | INSERITO | VREF4 = 10,8V |
.
| CN5 | Morsetto | Simbolo | Descrizione | Indirizzo |
|---|---|---|---|---|
| 1 | +DC | Ingresso positivo tensione bus DC | |
| 2 | -DC | Ingresso negativo tensione bus DC | ||
| 3 | M1+ | Uscita Motore 1 | 2.AN01 | |
| 4 | M1- | |||
| 5 | M2+ | Uscita Motore 2 | 2.AN02 | |
| 6 | M2- | |||
| 7 | M3+ | Uscita Motore 3 | 2.AN03 | |
| 8 | M3- | |||
| 9 | M4+ | Uscita Motore 4 | 2.AN04 | |
| 10 | M4- |
Di seguito sono riportate le caratteristiche elettriche hardware.
Il connettore USB mini-B non supporta gli standard elettrici USB, deve essere utilizzato solamente mediante una interfaccia IQ009 o IQ013.
Utilizzata per il trasferimento e il debugging del programma applicativo nella CPU.
| Standard elettrico | TTL (Usare l'interfaccia seriale IQ009 o IQ013) |
|---|---|
| Velocità di comunicazione | Min. 9,6 Kbaud - max 115200 Kbaud settabile tramite i dip1 e 2 dello switch SW1 |
| Isolamento | Nessuno |
.
![]() | ![]() | ![]() |
| Collegamento tra Qmove+ e PC, con l'ausilio dell'accessorio IQ009 | ||
.
![]() | ![]() | ![]() |
| Collegamento tra Qmove+ e un dispositivo dotato di seriale RS232 (per esempio un MODEM), con l'ausilio dell'interfaccia IQ013 |
||
| Velocità di comunicazione | 4800, 9600, 19200, 38400, 57600, 115200 baud |
|---|---|
| Modalità di comunicazione | Full duplex |
| Modo di funzionamento | Riferito a 0V |
| Max. numero di dispositivi connessi sulla linea | 1 |
| Max. lunghezza cavi | 15 m |
| Impedenza d'ingresso | > 3 Kohm |
| Limite corrente cortocircuito | 7 mA |
| Velocità di comunicazione | 4800, 9600, 19200, 38400, 57600, 115200 baud |
|---|---|
| Modalità di comunicazione | Full duplex |
| Modo di funzionamento | Differenziale |
| Max. numero di dispositivi connessi sulla linea | 1 |
| Max. lunghezza cavi | 1200 m |
| Impedenza d'ingresso | > 12 Kohm |
| Limite corrente cortocircuito | 35 mA |
Per attivare la resistenza di terminazione interna vedere paragrafo Settaggio standard elettrico USER PORT, Settaggio standard elettrico AUX1 PORT o Settaggio resistenze di polarizzazione e terminazione AUX2 PORT
.
| Velocità di comunicazione | 4800 baud (solo se utilizzata con device SERCOM e/o MODBUS), 9600 baud, 19200 baud, 38400 baud, 57600 baud |
|---|---|
| Modalità di comunicazione | Half duplex |
| Modo di funzionamento | Differenziale |
| Max. numero di dispositivi connessi sulla linea | 32 |
| Max. lunghezza cavi | 1200 m |
| Impedenza d'ingresso | > 12 Kohm |
| Limite corrente cortocircuito | 35 mA |
Per attivare la resistenza di terminazione interna vedere paragrafo Settaggio resistenze di terminazione
.
| Velocità di comunicazione | 125, 250, 500, 1000 Kbit/s |
|---|---|
| Max. numero Driver/Receiver sulla linea | 100 |
| Max. lunghezza cavi | 500m @ 125Kbit/s, 250m @ 250Kbit/s, 100m @ 500Kbit/s, 25m @ 1000Kbit/s |
| Impedenza d'ingresso | >15Kohm |
| Limite corrente cortocircuito | 45mA |
Esempio di collegamento CAN BUS.
Attenzione: chiudere i DIP JP1 e JP2 ed inserire le resistenze di terminazione (RL, RH) sull'ultimo dispositivo della catena.
| Tipo Memory Card da utilizzare | MMC, SD e SDHC fino a 8GB Per un corretto funzionamento è necessario che il dispositivo sia conforme agli standard definiti da “SD Association” (www.sdcard.org) oppure da “Multi Media Card Association” (www.mmca.org). |
Per essere utilizzate le Memory Card devono essere preventivamente formattate con file system FAT16 o FAT32.
| Tipo | Sinking (PNP) |
| Tempo min. di acquisizione (hardware) | 3ms |
| Tensione di funzionamento nominale | 12÷24Vdc |
| Tensione stato logico 0 | 0÷2 V |
| Tensione stato logico 1 | 10,5 ÷ 26,5 V |
| Corrente assorbita | 2mA@10.5V / 8mA@26.5V |
| Tipo di collegamento | Amperometrico (0-20 mA) |
| Risoluzione | 12bit/16bit1) |
| Resistenza d'ingresso | 125Ω |
| Valore di danneggiamento | 25 mA |
| Max. errore di linearità | + 0,1% Vfs |
| Max. errore di offset | + 0,1% Vfs |
| S.n. | 71 dB |
| Tempo di conversione | Dipende dalla configurazione dell'ingresso analogico. Vedi paragrafo Tempi di conversione se presente 2) |
| Isolamento | 1000 Vrms |
| Tipo di collegamento | Potenziometrico 1KΩ÷20KΩ |
| Risoluzione | 12bit/16bit1) |
| Tensione di riferimento erogata | 2,5Vdc |
| Corrente massima erogata dal riferimento | 10mA |
| Resistenza d'ingresso | 10MΩ |
| Max. errore di linearità | + 0,1% Vfs |
| Max. errore di offset | + 0,1% Vfs |
| S.n. | 71 dB |
| Tempo di conversione | Dipende dalla configurazione dell'ingresso analogico. Vedi paragrafo Tempi di conversione se presente 2) |
| Isolamento | 1000 Vrms |
| Tipo di collegamento | Voltmetrico 0÷5V |
| Risoluzione | 12bit/16bit1) |
| Resistenza d'ingresso (Rin) | 60KΩ |
| Valore di danneggiamento | 20V |
| Max. errore di linearità | + 0,1% Vfs |
| Max. errore di offset | + 0,1% Vfs |
| S.n. | 71 dB |
| Tempo di conversione | Dipende dalla configurazione dell'ingresso analogico. Vedi paragrafo Tempi di conversione se presente 2) |
| Isolamento | 1000 Vrms |
| Tipo di collegamento | Voltmetrico 0÷10V |
| Risoluzione | 12bit/16bit1) |
| Resistenza d'ingresso (Rin) | 40KΩ |
| Valore di danneggiamento | 20V |
| Max. errore di linearità | + 0,1% Vfs |
| Max. errore di offset | + 0,1% Vfs |
| S.n. | 71 dB |
| Tempo di conversione | Dipende dalla configurazione dell'ingresso analogico. Vedi paragrafo Tempi di conversione se presente 2) |
| Isolamento | 1000 Vrms |
| Carico commutabile | Dc (PNP) |
| Max. tensione di funzionamento | 28V |
| Isolamento | 1000Vpp |
| Caduta di tensione interna max. | 600mV |
| Resistenza interna massima @ON | 90mΩ |
| Corrente max. di protezione | 12A |
| Corrente max. di funzionamento | 2A |
| Corrente max. @OFF | 5µA |
| Tempo di massimo commutazione da ON a OFF | 270µs |
| Tempo di massimo commutazione da OFF a ON | 250µs |
| Isolamento | 1000 Vrms |
| Tensione massima di funzionamento | 28Vdc |
| Corrente massima di protezione | 5A |
| Corrente massima di funzionamento | 1A |
| SW1 | Dip | Impostazione dei DIP | Funzione | |||
|---|---|---|---|---|---|---|
| 1 | OFF | Baud-rate 57600 | Selezione velocità di trasmissione PROG PORT | ||
| ON | Baud-rate 115200 | |||||
| 2 | OFF | Baud-rate 57600 | Selezione velocità di trasmissione USER PORT | |||
| ON | Baud-rate 115200 | |||||
| 3 | OFF | Utilizzabile anche dai device SERCOM e MODBUS | Selezione modo di funzionamento PROG PORT | |||
| ON | Non utilizzabile dai device SERCOM e MODBUS | |||||
| 4 | OFF | ON | OFF | ON | Velocità di trasmissione CANbus (CanOpen)1) | |
| 5 | OFF | OFF | ON | ON | ||
| Baud-rate 125KB/S | Baud-rate 250KB/S | Baud-rate 500KB/S | Baud-rate 1MB/S |
|||
| 6 | Non utilizzato | |||||
I led “pow, run, stop, err” sono detti “led di sistema”.
| Led | Colore | Stato | Descrizione |
|---|---|---|---|
| pow | Verde | Strumento acceso | |
| Se è l'unico led acceso, segnala lo stato di reset della CPU | |||
| run | Verde | CPU in stato di RUN | |
| CPU in stato di READY | |||
| stop | Giallo | Se il led pow è acceso, segnala lo stato di STOP della CPU Se il led pow è spento, segnala lo stato di BOOT della CPU |
|
| err | Rosso | Se il led pow è spento, segnala un errore hardware. Vedere paragrafo Codici di errore hardware Se il led pow è acceso, il numero di lampeggi indica il tipo d'errore. Vedere paragrafo Segnalazioni del led err |
| N° lampeggi | Errore | Descrizione | Azioni consigliate |
| 1 | Bus error | Bus non configurato come descritto nell'applicativo. | Verificare la corrispondenza tra la configurazione dell'applicativo QMOVE (sezione BUS della unit di configurazione) e quella del prodotto (schede presenti nel BUS). |
| 2 | CheckSum Error | Il controllo di integrità sulle variabili ritentive ha dato esito negativo. (Vedi capitolo Reset Error Checksum) | E' necessario ripristinare i dati macchina a partire da un salvataggio (file con estensione DAT) oppure cancellare l'errore con l'apposita funzione di sistema e reintrodurre manualmente i valori. |
| 3 | Index Out of Bound | Indice di un array è puntato su un elemento inesistente | Con l'ambiente di sviluppo Qview è possibile aprire l'editor di una unit e con il comando “Edit→Go to PC” viene evidenziata la linea di programma che ha causato l'errore. In genere il valore utilizzato come indice ha un valore inferiore a 1 oppure superiore alla dimensione dell'array. |
| 4 | Program Over Range | L'indice di selezione programma all'interno del DATAGROUP ha tentato di accedere ad un programma non esistente. | Con l'ambiente di sviluppo Qview è possibile aprire l'editor di una unit e con il comando “Edit→Go to PC” viene evidenziata la linea di programma che ha causato l'errore. In genere il valore utilizzato come indice ha un valore inferiore a 1 oppure superiore alla dimensione dell'array. |
| 5 | Step Over Range | l'indice di selezione del passo all'interno del DATAGROUP ha tentato di accedere ad un passo non esistente. | Con l'ambiente di sviluppo Qview è possibile aprire l'editor di una unit e con il comando “Edit→Go to PC” viene evidenziata la linea di programma che ha causato l'errore. In genere il valore utilizzato come indice ha un valore inferiore a 1 oppure superiore alla dimensione dell'array. |
| 6 | Division By Zero | Il denominatore di un'operazione di divisione del programma applicativo ha valore zero. | Con l'ambiente di sviluppo Qview è possibile aprire l'editor di una unit e con il comando “Edit→Go to PC” viene evidenziata la linea di programma che ha causato l'errore. |
| 7 | Syntax Error | Il programma applicativo ha un'istruzione non valida | Tale errore potrebbe comparire perché il program counter ha incontrato l'istruzione QCL END. |
| 8 | Watch Dog Error | Un modulo CAN non funziona correttamente, oppure una scheda di specializzazione ha un problema hardware | Con l'ambiente di sviluppo Qview è possibile aprire il pannello “Monitor→Bus” e nella colonna di destra chiamata “Watchdog Bus” è indicata la scheda che ha causato il problema. |
| 9 | Stack Error | Il programma applicativo ha utilizzato tutti i livelli di chiamata a subroutine permessi | Con l'ambiente di sviluppo Qview è possibile aprire l'editor di una unit e con il comando “Edit→Go to PC” viene evidenziata la linea di programma che ha causato l'errore. Analizzare il flusso di esecuzione della unit, gli annidamenti di chiamata delle subroutine hanno un limite, oltre il quale viene generato questo errore. |
Se nella fase di accensione, viene rilevato un malfunzionamento di qualche periferica, il sistema si blocca e viene segnalato l'errore mediante il lampeggio del solo led
err mentre tutti gli altri leds di sistema rimangono spenti.
Il numero di lampeggi indica il tipo di errore secondo la seguente tabella:
| Numero di lampeggi | Errore |
|---|---|
| 1 | Segnalazione non attiva |
| 2 | Segnalazione non attiva |
| 3 | Media |
| 4 | Bootloader |
| 5 | FW |
| 6 | Segnalazione non attiva |
| 7 | Segnalazione non attiva |
| 8 | SYS data write |
| 9 | Exception |
Ognuna di queste segnalazioni indica una situazione di errore grave. Il prodotto deve essere inviato all'assistenza QEM.
I led “L1, L2, L3, L4, LF, A1, A2, A3, A4” sono detti “led utente”
| Nome | Descrizione |
|---|---|
| Premuto all'accensione dello strumento permette di accedere alle Funzioni di sistema | |
| Premuto all'accensione dello strumento permette di impostare la CPU in stato di Boot e quindi di accedere alle funzioni di aggiornamento firmware | |
| Reset CPU. Il sistema viene fatto ripartire ripristinando le condizioni iniziali (come dopo una accensione) | |
| Utilizzabili nell'applicazione e lo stato è acquisibile tramite variabili presenti nelle risorse della scheda B5-Q10. | |
In questo capitolo sono raccolte tutte le informazioni relative al prodotto necessarie durante la programmazione, ovvero durante lo sviluppo di un applicativo QCL.
Per la programmazione del prodotto è necessario utilizzare l'ambiente Qview-6 per la programmazione del codice QCL. Tale software è contenuto in un pacchetto software che si chiama Qworkbench e che è liberamente scaricabile dal sito Qem (nella sezione download).
Lo strumento è equipaggiato fisicamente da 3 slot come indicato nel capitolo Conformazione prodotto. Gli slots da 4 a 8 sono comunque dichiarabili e devono venire utilizzati per indirizzare risorse che risiedono nei moduli remoti Canopen.
Un esempio di dichiarazione del BUS da utilizzare nella sezione BUS della unit di configurazione è:
BUS 1 100CF 10 2 B5Q10 . 3 . .
In questo paragrafo vedremo come è possibile rilevare una stima dell'utilizzo delle memorie nel prodotto. La memoria non volatile, disponibile per memorizzare il programma QCL, ha una capacità di 512KB.
La quantità di memoria occupata è pari alla dimensione del file .BIN generato dal Qview. La percentuale di memoria occupata è visualizzabile nel pannello CPU del Qview, alla voce “Used CODE memory”, oppure è possibile ottenere questa informazione dal valore del parametro “sizeapp” del device QMOS.
La memoria dati non volatile, disponibile per memorizzare le variabili ritentive, ha una capacità di 13KB.
La percentuale di memoria occupata è visualizzabile nel pannello CPU del Qview, alla voce “Used RETENTIVE”, oppure è possibile ottenere questa informazione dal valore del parametro “sizeret” del device QMOS.
La memoria dati volatile per memorizzare le variabili non ritentive ha una capacità dipendente da vari fattori (per esempio la dimensione del programma QCL).
Le seriali PROG PORT e USER PORT implementano il protocollo di comunicazione proprietario QEM chiamato BIN1.
I device SERCOM e MODBUS sono utilizzabili con tutte le seriali di comunicazione compresa la PROG PORT. Il valore numerico da utilizzare durante la dichiarazione del device per selezionare il canale di comunicazione è il seguente:
0 PROG PORT 1 USER PORT
Quando i devices SERCOM e MODBUS utilizzano la PROG PORT o la USER PORT essi interessano il canale solo se lo stato di comunicazione del device è aperto (st_opencom = 1). Quando il canale del device viene chiuso (st_opencom = 0) nella seriale ritorna attivo il protocollo BIN1. Se si volesse forzare il protocollo BIN1 sulla porta PROG (ed impedire quindi che il device SERCOM occupi il canale) è necessario attivare il dip 6 di SW1.
Quando si utilizza il protocollo MODBUS RTU con la configurazione elettrica RS485, bisogna fare attenzione al fatto che quando la seriale è in trasmissione lo strumento mantiene attivo il canale (DE) per un tempo superiore a quello stabilito dalla specifica “MODBUS RTU”. Per questo bisogna considerare un tempo minimo di 5 millisecondi dopo i quali sarà possibile ricevere un nuovo messaggio. Anche il device SERCOM quando termina una trasmissione è soggetto al medesimo tempo in cui viene mantenuto il canale attivo (DE).
Vediamo in dettaglio la lista delle limitazioni al linguaggio QCL:
| Descrizione | Note |
|---|---|
| FSTEP,FPROG | Non è possibile utilizzare queste istruzioni. Di conseguenza viene a mancare la compatibilità diretta con applicativi scritti per CPU livello A. La conversione dell'applicativo risulta comunque semplice. |
Vediamo in dettaglio altre limitazioni:
| Descrizione | Note |
|---|---|
| Watchpoint | Non disponibili |
Durante il download dell'applicativo Qmove l'ambiente di sviluppo Qpaint-6 può visualizzare alcuni errori non descritti nel manuale dell'ambiente di sviluppo. Tali errori sono particolari e la stringa descrittiva visualizzata dal Qpaint-6 viene generata direttamente dal firmware.
Nella seguente tabella sono descritti i possibili messaggi di errore generati dal firmware.
| Possibili messaggi d'errore | Descrizione |
|---|---|
Error: SYSTEM + ARRSYS + DATAGROUP + INTDEVICE size overflow by 234bytes. | Compare quando le variabili ritentive superano il valore massimo consentito. |
Error: serial port not avaliable in SERCOM or MODBUS device declaration. | Compare quando Il valore numerico utilizzato durante la dichiarazione del device per selezionare il canale di comunicazione è errato. |
Error: CANOPEN device required if you use more than 4 slots. | Nella definizione del BUS si stanno utilizzando più di 4 slots e quindi l'applicazione richiede l'utilizzo di moduli Canopen. Per questa gestione è necessario dichiarare un device CANOPEN. |
Error: incorrect bus fault mode in CANOPEN declaration. | Nella dichiarazione del device CANOPEN si è indicata una modalità di fault (ultimo valore nella dichiarazione) non supportata. |
Error: incorrect canbus speed in CANOPEN declaration. | Nella dichiarazione del device CANOPEN si è indicata una velocità non valida. |
Error: too much CANOPEN device declaration. | Può essere dichiarato un solo device CANOPEN. |
L'ambiente di sviluppo mette a disposizione una serie di variabili predefinite che possono essere utilizzate precedendo al nome la parola chiave “QMOVE:”. Per esempio “QMOVE:is_suspend”, “QMOVE:sys001”, ecc. Lo scopo del presente paragrafo è illustrare le 16 variabili di sistema chiamate sys001÷sys016 il cui significato dipende dal firmware che si sta utilizzando.
Questa variabile a sola lettura indica lo stato dei pulsanti FUNC (bit 0) e BOOT (bit 1). I valori possibili sono dunque:
0 = nessun pulsante premuto.
1 = pulsante FUNC premuto.
2 = pulsante BOOT premuto.
3 = pulsanti FUNC e BOOT premuti.
Questa variabile permette la lettura dell'immagine del dip-switch SW1. L'immagine viene acquisita solo all'accensione del prodotto. Il bit 0 corrisponde al dip 1 e così via.
Questa variabile permette il comando del led L1-L2-L3-L4. Il bit 0 corrisponde a L1, il bit1 a L2 e così via.
Non utilizzate.
Questa variabile rappresenta lo stato della connessione USB. E' una variabile i cui bit hanno il seguente significato:
bit 0 = port connected bit 1 = device connected is Android Open Accessory bit 2 = tx or rx active (1 per 60msec ogni dato)
Non utilizzate.
Con il termine device si identifica una categoria di dispositivi software atti a svolgere attività di supporto e di controllo, più o meno complesse, per risolvere le problematiche legate all'automazione dei sistemi. I devices si distinguono in due tipologie: interni ed esterni. I primi sono quelli il cui codice risiede e viene eseguito dal firmware del prodotto stesso. I secondi sono quelli il cui codice risiede e viene eseguito da schede di specializzazione “intelligenti” munite cioè di propria potenza di calcolo. Il prodotto ivi descritto può gestire solamente devices di tipo interno. La lista dei devices implementati nel firmware dipende dalla versione firmware. Lo scopo del presente paragrafo è quello di illustrare la lista e le caratteristiche dei devices disponibili.
Il firmware versione 10 implementa i seguenti devices:
Se nella dichiarazione del device CANOPEN viene indicata la velocità zero allora essa diventa impostabile tramite i dip nr. 4 e 5 di SW1.
Il primo slot per indirizzare risorse che risiedono all'interno di moduli Canopen è il 4.
L'ultimo dato indicato nella dichiarazione del device è il fault mode.
Esso può assumere i seguenti valori:
Il numero massimo di slave collegati è 5 (l'ultimo è mappato nello SLOT nr.8).
La lunghezza massima di un SDO è ridotta a 128bytes.
I files manipolati dal device DATASTORE sono tutti contenuti nella cartella /DS. Se questa cartella non esiste nel dispositivo essa viene creata automaticamente.
Esiste una particolare impostazione dei parametri che permette di verificare l'esistenza di un file nel dispositivo. Si utilizza il parametro “filenum” impostato al valore -1 e con il comando OPENFILE il device invece di aprire il file ricerca il primo file presente nella directory “/DS/” del dispositivo scelto. Quando trovato, il nome di tale file sarà impostato dal device nel parametro “filenum” stesso (ed il tipo nel parametro “filetype”). Impostando nuovamente -1 in “filenum” ed eseguendo il comando OPENFILE verrà cercato il nome del file successivo e così via. Ogniqualvolta verrà effettuata una operazione di OPENFILE con il filenum diverso da -1 il loop di ricerca verrà chiuso. Quando la ricerca sarà terminata e non vi saranno più file presenti, allora il device imposterà come risposta al comando OPENFILE “filenum = -2”. L'avvenuta esecuzione del comando sarà segnalata dal flag st_busy = 0. Se l'estensione del file non è HEX o CSV il file stesso viene ignorato dalla ricerca. Nel caso in cui il nome file non sia compatibile con quelli gestiti dal DATASTORE (numeri da 0 a 9999999) allora “filenum” rimarrà impostato a -1 e verrà segnalato un warning.
Il parametro “frwuvalue01” contiene il valore numerico del serial number del prodotto.
Di seguito vengono riportati i simboli presenti nella scheda B5Q10 da utilizzare nel progetto QView per accedere alle risorse della scheda.
| Signal name | Type | Access | Size | Description |
|---|---|---|---|---|
| AI01 | INPUT | RD | WORD | Indirizzo ingressi analogici da utilizzare nella dichiarazione del device (per es ANINP). |
| AI02 | INPUT | RD | WORD | |
| AI03 | INPUT | RD | WORD | |
| AI04 | INPUT | RD | WORD | |
| OUT01 | OUTPUT | RDWR | FLAG | Stato uscite digitali. |
| OUT02 | OUTPUT | RDWR | FLAG | |
| OUT03 | OUTPUT | RDWR | FLAG | |
| OUT04 | OUTPUT | RDWR | FLAG | |
| OUT05 | OUTPUT | RDWR | FLAG | |
| OUT06 | OUTPUT | RDWR | FLAG | |
| OUT07 | OUTPUT | RDWR | FLAG | |
| OUT08 | OUTPUT | RDWR | FLAG | |
| OUT09 | OUTPUT | RDWR | FLAG | |
| OUT10 | OUTPUT | RDWR | FLAG | |
| OUT11 | OUTPUT | RDWR | FLAG | |
| OUT12 | OUTPUT | RDWR | FLAG | |
| OUT13 | OUTPUT | RDWR | FLAG | |
| OUT14 | OUTPUT | RDWR | FLAG | |
| OUT15 | OUTPUT | RDWR | FLAG | |
| OUT16 | OUTPUT | RDWR | FLAG | |
| LEDA1G | OUTPUT | RDWR | FLAG | Stato led utente A1 verde. |
| LEDA1R | OUTPUT | RDWR | FLAG | Stato led utente A1 rosso. |
| LEDA2G | OUTPUT | RDWR | FLAG | Stato led utente A2 verde. |
| LEDA2R | OUTPUT | RDWR | FLAG | Stato led utente A2 rosso. |
| LEDA3G | OUTPUT | RDWR | FLAG | Stato led utente A3 verde. |
| LEDA3R | OUTPUT | RDWR | FLAG | Stato led utente A3 rosso. |
| LEDA4G | OUTPUT | RDWR | FLAG | Stato led utente A4 verde. |
| LEDA4R | OUTPUT | RDWR | FLAG | Stato led utente A4 rosso. |
| DISPA | OUTPUT | RDWR | FLAG | Stato dei segmenti A÷F del led utente DS1. |
| DISPB | OUTPUT | RDWR | FLAG | |
| DISPC | OUTPUT | RDWR | FLAG | |
| DISPD | OUTPUT | RDWR | FLAG | |
| DISPE | OUTPUT | RDWR | FLAG | |
| DISPF | OUTPUT | RDWR | FLAG | |
| DISPG | OUTPUT | RDWR | FLAG | |
| LEDLF | OUTPUT | RDWR | FLAG | Stato led utente LF. |
| OUTB1 | OUTPUT | RDWR | BYTE | Stato a byte delle uscite digitali. |
| OUTB2 | OUTPUT | RDWR | BYTE | |
| OUTB3 | OUTPUT | RDWR | BYTE | |
| OUTB4 | OUTPUT | RDWR | BYTE | |
| OUTDIS | OUTPUT | RDWR | BYTE | Stato a byte per rappresentare gli stati dei segmenti A÷F del led utente DS1 e lo stato del led LF. |
| OUTW1 | OUTPUT | RDWR | WORD | Stato a word delle uscite digitali. |
| OUTW2 | OUTPUT | RDWR | WORD | |
| OUTL | OUTPUT | RDWR | LONG | Stato a long delle uscite digitali. |
| ENA01 | OUTPUT | RDWR | FLAG | Abilitazione potenza nelle uscite motore 1÷4 |
| ENA02 | OUTPUT | RDWR | FLAG | |
| ENA03 | OUTPUT | RDWR | FLAG | |
| ENA04 | OUTPUT | RDWR | FLAG | |
| CMDS | OUTPUT | RDWR | BYTE | Valore a byte delle abilitazioni potenza nelle uscite motore 1÷4. |
| DMODE01 | OUTPUT | RDWR | FLAG | Se tali impostazioni hanno valore 1 allora ad ogni impostazione del valore zero nel DAC (simbolo AN0x), viene generato un impulso all'uscita DAC al valore -32768 per un tempo pari al valore impostato in DTIME (in msec). |
| DMODE02 | OUTPUT | RDWR | FLAG | |
| DMODE03 | OUTPUT | RDWR | FLAG | |
| DMODE04 | OUTPUT | RDWR | FLAG | |
| DMODEB | OUTPUT | RDWR | BYTE | E' la rappresentazione a byte dei 4 valori DMODE01÷04. |
| DTIME | OUTPUT | RDWR | BYTE | Tempo dell'impulso all'uscita DAC. Vedere la descrizione di DMODE0x. |
| TCANENA | OUTPUT | RDWR | FLAG | Abilitazone comunicazione TCAN. Impostando 1 viene abilitata la comunicazione TCAN. Non deve essere presente nell'applicativo il device CANOPEN altrimenti questa variabile torna automaticamente a zero. Se comparissero errori di comunicazione riportare a zero e poi a uno tale variabile la periferica canbus viene reinizializzata. |
| TCANERR | OUTPUT | RDWR | FLAG | Indica che vi sono errori di comunicazione. Se tale variabile viene portata al valore 1 poi ci rimane e deve essere resettata da QCL scrivendo il valore zero. Tale segnalazione può essere usata per generare un warning. Se azzerando la variabile essa ritorna a uno allora è necessario reinizializare la periferica canbus (con il simbolo TCANENA posto a zero e poi ripristinato a 1). |
| TCANIDB0 | OUTPUT | RDWR | FLAG | Assieme al simbolo TCANIDB1 permette di definire l'indirizzo TCAN. Tale valore va da zero a 3. Il valore va espesso considerando che TCANIDB0 è il bit meno significativo e TCANIDB1 è il più significativo. |
| TCANIDB1 | OUTPUT | RDWR | FLAG | |
| TCANWEN | OUTPUT | RDWR | FLAG | Abilita i messaggi in scrittura. |
| TCANO1W1 | OUTPUT | RDWR | WORD | Messaggio TCAN nr.1 in scrittura verso le altre stazioni. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
| TCANO1W2 | OUTPUT | RDWR | WORD | |
| TCANO1W3 | OUTPUT | RDWR | WORD | |
| TCANO1W4 | OUTPUT | RDWR | WORD | |
| TCANO1L1 | OUTPUT | RDWR | LONG | |
| TCANO1L2 | OUTPUT | RDWR | LONG | |
| TCANO2W1 | OUTPUT | RDWR | WORD | Messaggio TCAN nr.2 in scrittura verso le altre stazioni. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
| TCANO2W2 | OUTPUT | RDWR | WORD | |
| TCANO2W3 | OUTPUT | RDWR | WORD | |
| TCANO2W4 | OUTPUT | RDWR | WORD | |
| TCANO2L1 | OUTPUT | RDWR | LONG | |
| TCANO2L2 | OUTPUT | RDWR | LONG | |
| TCANI1W1ID0 | INPUT | RD | WORD | Messaggio nr 1 TCAN in lettura proveniente dalla stazione con ID zero. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
| TCANI1W2ID0 | INPUT | RD | WORD | |
| TCANI1W3ID0 | INPUT | RD | WORD | |
| TCANI1W4ID0 | INPUT | RD | WORD | |
| TCANI1L1ID0 | INPUT | RD | LONG | |
| TCANI1L2ID0 | INPUT | RD | LONG | |
| TCANI2W1ID0 | INPUT | RD | WORD | Messaggio nr 2 TCAN in lettura proveniente dalla stazione con ID zero. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
| TCANI2W2ID0 | INPUT | RD | WORD | |
| TCANI2W3ID0 | INPUT | RD | WORD | |
| TCANI2W4ID0 | INPUT | RD | WORD | |
| TCANI2L1ID0 | INPUT | RD | LONG | |
| TCANI2L2ID0 | INPUT | RD | LONG | |
| TCANI1W1ID1 | INPUT | RD | WORD | Messaggio nr 1 TCAN in lettura proveniente dalla stazione con ID 1. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
| TCANI1W2ID1 | INPUT | RD | WORD | |
| TCANI1W3ID1 | INPUT | RD | WORD | |
| TCANI1W4ID1 | INPUT | RD | WORD | |
| TCANI1L1ID1 | INPUT | RD | LONG | |
| TCANI1L2ID1 | INPUT | RD | LONG | |
| TCANI2W1ID1 | INPUT | RD | WORD | Messaggio nr 2 TCAN in lettura proveniente dalla stazione con ID 1. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
| TCANI2W2ID1 | INPUT | RD | WORD | |
| TCANI2W3ID1 | INPUT | RD | WORD | |
| TCANI2W4ID1 | INPUT | RD | WORD | |
| TCANI2L1ID1 | INPUT | RD | LONG | |
| TCANI2L2ID1 | INPUT | RD | LONG | |
| TCANI1W1ID2 | INPUT | RD | WORD | Messaggio nr 1 TCAN in lettura proveniente dalla stazione con ID 2. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
| TCANI1W2ID2 | INPUT | RD | WORD | |
| TCANI1W3ID2 | INPUT | RD | WORD | |
| TCANI1W4ID2 | INPUT | RD | WORD | |
| TCANI1L1ID2 | INPUT | RD | LONG | |
| TCANI1L2ID2 | INPUT | RD | LONG | |
| TCANI2W1ID2 | INPUT | RD | WORD | Messaggio nr 2 TCAN in lettura proveniente dalla stazione con ID 2. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
| TCANI2W2ID2 | INPUT | RD | WORD | |
| TCANI2W3ID2 | INPUT | RD | WORD | |
| TCANI2W4ID2 | INPUT | RD | WORD | |
| TCANI2L1ID2 | INPUT | RD | LONG | |
| TCANI2L2ID2 | INPUT | RD | LONG | |
| TCANI1W1ID3 | INPUT | RD | WORD | Messaggio nr 1 TCAN in lettura proveniente dalla stazione con ID 3. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
| TCANI1W2ID3 | INPUT | RD | WORD | |
| TCANI1W3ID3 | INPUT | RD | WORD | |
| TCANI1W4ID3 | INPUT | RD | WORD | |
| TCANI1L1ID3 | INPUT | RD | LONG | |
| TCANI1L2ID3 | INPUT | RD | LONG | |
| TCANI2W1ID3 | INPUT | RD | WORD | Messaggio nr 2 TCAN in lettura proveniente dalla stazione con ID 3. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
| TCANI2W2ID3 | INPUT | RD | WORD | |
| TCANI2W3ID3 | INPUT | RD | WORD | |
| TCANI2W4ID3 | INPUT | RD | WORD | |
| TCANI2L1ID3 | INPUT | RD | LONG | |
| TCANI2L2ID3 | INPUT | RD | LONG | |
| INP01 | INPUT | RD | FLAG | Stato degli ingressi digitali da 1÷20. |
| INP02 | INPUT | RD | FLAG | |
| INP03 | INPUT | RD | FLAG | |
| INP04 | INPUT | RD | FLAG | |
| INP05 | INPUT | RD | FLAG | |
| INP06 | INPUT | RD | FLAG | |
| INP07 | INPUT | RD | FLAG | |
| INP08 | INPUT | RD | FLAG | |
| INP09 | INPUT | RD | FLAG | |
| INP10 | INPUT | RD | FLAG | |
| INP11 | INPUT | RD | FLAG | |
| INP12 | INPUT | RD | FLAG | |
| INP13 | INPUT | RD | FLAG | |
| INP14 | INPUT | RD | FLAG | |
| INP15 | INPUT | RD | FLAG | |
| INP16 | INPUT | RD | FLAG | |
| INP17 | INPUT | RD | FLAG | |
| INP18 | INPUT | RD | FLAG | |
| INP19 | INPUT | RD | FLAG | |
| INP20 | INPUT | RD | FLAG | |
| FLT01 | INPUT | RD | FLAG | Stato di fault dell'uscita motore 1÷4. |
| FLT02 | INPUT | RD | FLAG | |
| FLT03 | INPUT | RD | FLAG | |
| FLT04 | INPUT | RD | FLAG | |
| STATUS | INPUT | RD | BYTE | Valore a byte dei fault dell'uscita motore. |
| BUTTON1 | INPUT | RD | FLAG | Stato del pulsante utente P1. |
| BUTTON2 | INPUT | RD | FLAG | Stato del pulsante utente P2. |
| INPB1 | INPUT | RD | BYTE | Stato a byte degli ingressi digitali. |
| INPB2 | INPUT | RD | BYTE | |
| INPB3 | INPUT | RD | BYTE | |
| INPB4 | INPUT | RD | BYTE | |
| INPB5 | INPUT | RD | BYTE | |
| INPW1 | INPUT | RD | WORD | Stato a word degli ingressi digitali. |
| INPW2 | INPUT | RD | WORD | |
| INPL | INPUT | RD | LONG | Stato a long degli ingressi digitali. |
| AN01 | DAC | WR | WORD | Indirizzo della periferica DAC per il controllo della potenza all'uscita motore 1÷4. Da utilizzare nella dichiarazione del device. |
| AN02 | DAC | WR | WORD | |
| AN03 | DAC | WR | WORD | |
| AN04 | DAC | WR | WORD | |
| CNT01 | COUNT | RD | WORD | Indirizzo del contatore bidirezione nr.1 da utilizzare nella dichiarazione del device. |
| CNT02 | COUNT | RD | WORD | Indirizzo del contatore bidirezione nr.2 da utilizzare nella dichiarazione del device. |